(PHP 4, PHP 5)
strnatcmp — Compara cadenas usando un algoritmo de "orden natural"
Esta función implementa un algoritmo de comparación que ordena las cadenas alfanuméricas como lo haría un ser humano, que es lo que se denomina "orden natural". A continuación se puede ver un ejemplo de la diferencia entre este algoritmo y los algoritmos de ordenación de cadenas habituales en los ordenadores (utilizados en strcmp()):
<?php
$matriz1 = $matriz2 = array ("img12.png","img10.png","img2.png","img1.png");
echo "Comparacion de cadenas estandar\n";
usort($matriz1,"strcmp");
print_r($matriz1);
echo "\nComparacion de cadenas en orden natural\n";
usort($matriz2,"strnatcmp");
print_r($matriz2);
?>
El código anterior generará la siguiente salida:
Comparacion de cadenas estandar
Array
(
[0] => img1.png
[1] => img10.png
[2] => img12.png
[3] => img2.png
)
Comparacion de cadenas en orden natural
Array
(
[0] => img1.png
[1] => img2.png
[2] => img10.png
[3] => img12.png
)
Para más información, vea la página de Martin Pool sobre » Comparación de Cadenas en Orden Natural.
De forma similar a otras funciones de comparación de cadenas, esta devuelve < 0 si cadena1 es menor que cadena2 ; > 0 si cadena1 es mayor que cadena2 y 0 si son iguales.
Nótese que esta comparación es sensible a mayúsculas y minúsculas.
Vea también ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() y natcasesort().